import { S } from '../../s';
import { IPSAppDEPrint } from '../../app/dataentity/ipsapp-deprint';
import { IPSDEPrint } from './ipsdeprint';
import { PSModelObjectImpl } from '../../psmodel-object-impl';

export class PSDEPrintImpl
  extends PSModelObjectImpl
  implements IPSDEPrint, IPSAppDEPrint
{
  get codeName(): string {
    return this.M.codeName;
  }

  get contentType():
    | 'PDF'
    | 'HTML'
    | 'DOCX'
    | 'EXCEL'
    | 'JSON'
    | 'XML'
    | 'TEXT'
    | 'USER'
    | 'USER2' {
    return this.M.contentType;
  }

  get dataAccessAction(): string {
    return this.M.dataAccessAction;
  }

  get printTag(): string {
    return this.M.printTag;
  }

  get printTag2(): string {
    return this.M.printTag2;
  }

  get reportType(): string {
    return this.M.reportType;
  }

  get defaultMode(): boolean {
    return this.M.defaultMode != null ? this.M.defaultMode : false;
  }

  get enableMulitPrint(): boolean {
    return this.M.enableMulitPrint != null ? this.M.enableMulitPrint : false;
  }
  get cls(): string {
    return 'PSDEPrintImpl';
  }
  instanceof(cls: string): boolean {
    if (cls == S._3ab || cls == S._209) return true;
    return super.instanceof(cls);
  }
}
